iT邦幫忙

2021 iThome 鐵人賽

DAY 3
0
自我挑戰組

30天刷題大挑戰系列 第 3

第 02 天 循序漸進加深難度( leetcode 002 )

  • 分享至 

  • xImage
  •  

JavaScript 解答

var addTwoNumbers = function (l1, l2) {

    var c = 0;
    var ret = new ListNode(0);
    var curr = ret;

    while (l1 || l2) {
        var a = l1 ? l1.val : 0;
        var b = l2 ? l2.val : 0;
        var sum = a + b + c;
        c = Math.floor(sum / 10);
        curr.next = new ListNode(sum % 10);
        if (l1) {
            l1 = l1.next;
        }
        if (l2) {
            l2 = l2.next;
        }
        curr = curr.next;
    }
    if (c) {
        curr.next = new ListNode(c);
    }

    return ret.next;
};

Ruby 解答

def add_two_numbers(l1, l2)
    return add(l1,l2,0)
end

def add(l1,l2,f)
    if not l1 and not l2 and f==0
        return nil
    end
    ans=f +(l1 ? l1.val : 0)+(l2 ? l2.val : 0)
    res=ListNode.new(ans%10)
    res.next=add(l1 ? l1.next : nil,l2 ? l2.next : nil,ans/10)
    return res
end

上一篇
第 01 天 小試身手由簡入深 ( leetcode 001 )
下一篇
第 03 天 略有靈感小步邁進( leetcode 011 )
系列文
30天刷題大挑戰16
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言